// es5里面的继承 对象冒充实现继承
function Person() {
  // 属性
  this.name = "张三"
  this.age = 20
  // 实例方法
  this.run = function() {
    console.log(this.name + '在运动');
  }
  
}
// 原型链上的属性会被多个实例共享，而构造函数不会
Person.prototype.sex = "男"
Person.prototype.work = function() {
  console.log(this.name+'在工作')
}

// ===原型链+对象冒充的组合继承模式===
// Web类继承Person类
function Web() {
  // 对象冒充实现继承
  Person.call(this)  
}

var w = new Web()
// 对象冒充可以继承构造函数里面的属性和方法
w.run()
// 但没办法继承原型链上的属性和方法
// 报错：w.work is not a function
// w.work()
